package com.wonders.module.auth.service;

import java.util.List;

import com.wonders.framework.entity.vo.Page;
import com.wonders.module.auth.entity.vo.UserVo;

/**
 * 用户业务层
 * 
 * @author WuBin
 * 
 */
public interface UserService {

	/**
	 * 查询用户信息
	 * 
	 * @param userVo
	 *            查询参数
	 * @param page
	 *            分页参数
	 * @return 用户信息
	 */
	public Page query(UserVo userVo, Page page);

	/**
	 * 保存用户信息
	 * 
	 * @param userVo
	 *            用户信息
	 */
	public void save(UserVo userVo);

	/**
	 * 加载用户信息
	 * 
	 * @param id
	 *            用户编号
	 * @return 用户信息
	 */
	public UserVo load(Long id);

	/**
	 * 更新用户信息
	 * 
	 * @param userVo
	 *            用户信息
	 */
	public void update(UserVo userVo);

	/**
	 * 删除用户信息
	 * 
	 * @param keys
	 *            用户编号
	 */
	public void remove(List<Long> keys);

	/**
	 * 重置密码
	 * 
	 * @param keys
	 *            用户编号
	 */
	public void resetPassword(List<Long> keys);

	/**
	 * 校验用户信息
	 * 
	 * @param userVo
	 *            用户信息
	 * @param action
	 *            操作
	 */
	public void validate(UserVo userVo, String action);

}
